В противоположность глобализации, локализация – это процесс изменения приложения таким образом, чтобы интерфейс пользователя был на языке пользователя. Хорошо разработанное программное обеспечение можно локализовать на любой из языков, поддерживаемых Windows 2000, без изменения исходного кода, т.е. без перекомпиляции. Помимо принципов глобализации, принципы возможности локализации включают следующие:
Изолируйте все элементы интерфейса пользователя от исходного кода программы. Поместите их в файлы ресурсов, файлы сообщений или приватные базы данных.
Используйте одни и те же идентификаторы ресурсов за все время существования проекта. Смена идентификаторов затрудняет обновление локализованных ресурсов после повторной сборки проекта.
Делайте несколько копий одной и той же строки, если она используется в нескольких контекстах. Одна и та же строка в разных контекстах может иметь разные переводы.
Не помещайте в ресурсы строки, которые не должны локализоваться. Оставьте их в исходном коде в виде строковых констант.
Динамически распределяйте текстовые буферы, поскольку размер строки при переводе может увеличиться. Если Вам необходимо использовать статические буферы, сделайте их очень большими, чтобы не было проблем с локализованными строками (например, вдвое больше, чем для английского языка).
Помните, что размеры диалогов при локализации могут увеличиваться. Таким образом, большое диалоговое окно, занимающее весь экран в режиме с низким разрешением, может при локализации принять невозможные размеры.
Не используйте текст в пиктограммах и растровых изображениях, их трудно локализовать.
Не создавайте текстовые сообщения динамически при работе путем объединения нескольких строк или удаления символов из статического текста. Порядок слов в разных языках различный, поэтому динамическое составление текста таким образом требует изменения кода при локализации на некоторые языки.
Не составляйте текст с помощью нескольких параметров вставки в форматированную строку (например, в функциях sprintf или wsprintf ), поскольку порядок вставки аргументов при переводе на некоторые языки изменяется.
При локализации на языки Среднего Востока, такие как арабский и иврит, используйте API для направления текста справа налево. Подробнее см. в статье в номере Microsoft Systems Journal за апрель 1999 г. по адресу
http://www.microsoft.com/globaldev/articles/singleunicode.asp
Тестируйте локализованные приложения во всех языковых вариантах Windows 2000. Если в приложении используется кодировка Unicode, как рекомендуется, оно должно работать без изменения. Если в приложении используется кодовая страница Windows, нужно будет изменить региональные настройки системы и указать соответствующие значения для локализованного приложения, а затем перезагрузить машину.